package com.ruicar.afs.cloud.basic.proceeds.mq.dto;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.modules.contract.enums.CashFlowCodeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.PlanTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.VoucherStatusEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 收益费用摊销表
 */
@Data
public class ContractCostAmortizePlanDTO {

	/** 合同编号 */
	@ApiModelProperty("合同编号")
	private String contractNo;
	/** 计划类型 枚举值：合同，车辆 */
	@ApiModelProperty("计划类型 枚举值：合同，车辆")
	private PlanTypeEnum planType;
	/** 车辆id */
	@ApiModelProperty("车辆id")
	private Integer carId;
	/** 摊销费用编号 枚举值：贴息，其他 */
	@ApiModelProperty("摊销费用编号 枚举值：贴息，其他")
	private CashFlowCodeEnum cashFlowCode;
	/** 摊销费用名称 */
	@ApiModelProperty("摊销费用名称")
	private String cashFlowName;
	/** 分期序号 */
	@ApiModelProperty("分期序号")
	private Integer period;
	/** 应收金额 */
	@ApiModelProperty("应收金额")
	private BigDecimal receivableInterest;
	/** 剩余金额 */
	@ApiModelProperty("剩余金额")
	private String remainAmount;
	/** 开始日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("开始日期")
	private Date startDate;
	/** 结束日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("结束日期")
	private Date repayDate;
	/** 应计金额 */
	@ApiModelProperty("应计金额")
	private BigDecimal accuralInterest;
	/** 主营收入 */
	@ApiModelProperty("主营收入")
	private BigDecimal mainIncome;
	/** 税金 */
	@ApiModelProperty("税金")
	private BigDecimal vat;
	/** 状态 枚举值：1-正常，2-逾期，3-结束 */
	@ApiModelProperty("状态 枚举值：1-正常，2-逾期，3-结束")
	private String status;
	/** 凭证发送状态 枚举值：1-未发送，2-发送成功，3-发送失败 */
	@ApiModelProperty("凭证发送状态 枚举值：1-未发送，2-发送成功，3-发送失败")
	private VoucherStatusEnum voucherStatus;
	/** 操作人员 */
	@ApiModelProperty("操作人员")
	private String updateUser;
	/** 收款终止日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("收款终止日期")
	private Date stopDate;

}
